package com.scoresystem.json;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

/**
 * 
 * @author Administrator
 *用于处理后台状态的核心类，因为返回数据主要是json格式的，故命名JsonState
 */
public class JsonState {
	//主要是成功或者失败
	private String state;

	public String getState() {
		return state;
	}

	public void setState(String state) {
		this.state = state;
	}
	
	/**
	 * 得到jsonObject的方法，对一些惯常操作进行了一次封装
	 * @param message
	 * @param object
	 * @param arr
	 * @return
	 * 
	 * @throws IllegalArgumentException:如果object arr都为空就抛这个异常
	 */
	public JSONObject getSuccessObject(String message,JSONObject object,JSONArray arr)
			throws IllegalArgumentException{
		JSONObject json=new JSONObject();
		JSONObject object1=new JSONObject();
		object1.put("state",state );
		object1.put("message",message);
		json.put("meta", object1);
		if(object!=null)
			json.put("data", object);
		if(arr!=null)
			json.put("data", arr);
		return json;
	}
	/**
	 * 
	 * @param message 调用层传递错误信息
	 * @return
	 */
	public JSONObject getFailedObject(String message){
		JSONObject json=new JSONObject();
		JSONObject object1=new JSONObject();
		object1.put("state",state );
		object1.put("message",message);
		json.put("meta", object1);
		return json;
	}
}
